package com.bayair.doctor.biz.im;

import android.text.TextUtils;

import com.bayair.doctor.App;
import com.bayair.doctor.data.bean.ServerListResp;
import com.blankj.utilcode.util.FileIOUtils;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.reflect.TypeToken;
import java.io.File;
import java.util.List;

public class ContactHelper {
    //本地联系人缓存文件名
    private static final String CONTACTS_FILE_NAME = "contacts";
    //缓存联系人file
    private static final File file = new File(App.getContext().getCacheDir(), CONTACTS_FILE_NAME);

    public static void savePatientsInServer(List<ServerListResp.PatientsBean> patients) {
        JsonArray jsonArray = new Gson().toJsonTree(patients, new TypeToken<List<ServerListResp.PatientsBean>>() {}.getType()).getAsJsonArray();
        FileIOUtils.writeFileFromString(file, jsonArray.toString());
    }

    public static List<ServerListResp.PatientsBean> readPatientsInServer() {
        String strings = FileIOUtils.readFile2String(file);
        if (!TextUtils.isEmpty(strings)) {
            List<ServerListResp.PatientsBean> patientsBeans = new Gson().fromJson(strings, new TypeToken<List<ServerListResp.PatientsBean>>() {}.getType());
            return patientsBeans;
        }
        return null;
    }

    /**
     患者是否在有效期内
     @param patientsBeans  服务器返回的服务中患者的信息（包括患者id、剩余时间）
     @param id 患者id(IM会话id,联系人名称)
     @return
     */
    public static boolean isValid(List<ServerListResp.PatientsBean> patientsBeans, String id) {
        if (patientsBeans == null || patientsBeans.isEmpty()) {
            return false;
        }
        for (ServerListResp.PatientsBean p : patientsBeans) {
            return TextUtils.equals(p.getImname(), id) && p.getServertime() > 0;
        }
        return false;
    }
}
